import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex);

const store = new Vuex.Store({
    state: {
       nikeName:'',       //用户信息
       searchValue:'',       //搜索内容    
       showMask:false,      //判断遮罩层是否显示
       showMaskType:'',     //控制遮罩显示内容类型  如：删除操作  还原操作
       listData:{},      //传给遮罩层的查看属性data
       sureMethod:'',     //遮罩层点击确定传递data
    //    filename:'',      //点击选择打开的文件 name
       filePath:[],          //文件拼接地址
    //    fileType:'公司文件',           // 当前所选择的文件类型  如：公司文件
       topNavTab:'',      // 顶部菜单选项，如文件管理，菜单管理，控制左侧菜单变化
       message_count:'',   // 用户未读消息总数，用于接收webSokect同送消息
       authUserList:[],  // 添加授权用户组
       selectData:[],      //还原文件信息
       permissions:[], //权限组
       member_list:[], //右侧滑块，授权用户列表
    },
    mutations: {

        // 搜索内容
        searchContent(state,data){
            state.searchValue = data;
        },
        // 遮罩层显示的弹框类型   如：删除弹框，还原弹框
        isshowMaskType(state,data){
            state.showMaskType = data;
        },
        // 是否显示遮罩层
        isshowMask(state,data){
            state.showMask = data;
        },
        // 右击菜单查看属性时，传递给frameBox文件的listdata
        getlistData(state,data){
            state.listData = data;
        },
        // 弹框点击确定之后传递给filepanel文件
        getSure(state,data){
            state.sureMethod = data;
        },
        // 双击文件名打开文件传递的文件name
        // getpath(state,data){
        //     state.filename = data;
        // },
        // 获取文件文档拼接的当前地址
        getFilepath(state,data){
            state.filePath = data;
        },
        // 当前点击选择的文件类型
        // getfileType(state,data){
        //     state.fileType = data;
        // }, 
        // 设置顶部菜单
        setTopNavTab(state,data){
            state.topNavTab = data;
        },
        // 设置用户未读消息
        setMessageCount(state,data){
            state.message_count = data;
        },
        // 设置用户昵称
        setUserNikeName(state,data){
            state.nikeName = data;
        },
        // 添加新授权用户组
        setAuthUserList(state,data){
            state.authUserList = data;
        },
        // 还原文件操作
        getSelectFn(state,data){
            state.selectData = data;
        },
        // 设置权限字段
        setPermissions(state,data){
            state.permissions = data;
        },
        // 更改用户列表指定用户权限
        setListPermissions(state,data){
            state.authUserList[data.key] = data.value;
        },
        // 设置右侧滑块用户列表
        setMemberList(state,data){
            state.member_list = data;
        },
        // 修改右侧滑块用户列表授权信息
        updateMemberList(state,data){
            state.member_list[data.key] = data.value;
        }
    },
    getters:{
        // 获取权限组数据
        getPermissions(state){
            return state.permissions;
        },
        // 获取新授权用户组
        getAuthUserList(state){
            return state.authUserList;
        },
        // 获取顶部菜单
        getTopNavTab(state){
            return state.topNavTab;
        },
        // 获取用户未读消息总数
        getMessageCount(state){
            return state.message_count;
        },
        // 获取用户昵称
        getUserNikeName(state){
            return state.nikeName;
        },
        // 获取右侧滑块用户列表
        getMemberList(state){
            return state.member_list;
        }
    }

})

export default store;
